package com.grademaster.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.grademaster.common.R;
import com.grademaster.dto.UserDto;
import com.grademaster.dto.UserPageDto;
import com.grademaster.entity.User;
import org.springframework.http.ResponseEntity;

/**
* @author Administrator
* @description 针对表【user】的数据库操作Service
* @createDate 2024-06-24 20:32:54
*/
public interface UserService extends IService<User> {
    /**
     * 用户登录
     * @param userDto
     * @return
     */
    R login(UserDto userDto);

    /**
     * 获取用户权限信息
     * @return
     */
    R getPermissions();

    /**
     * 用户退出登录
     * @return
     */
    R logout();


    /**
     * 获取所有用户，分页
     * @param userPageDto
     * @return
     */
    R getAllUsersByPage(UserPageDto userPageDto);

    /**
     * 添加或编辑用户
     * @param user
     * @return
     */
    R addOrEditUser(User user);

    /**
     * 删除用户
     * @param userId
     * @return
     */
    R deleteUser(String userId);

    /**
     * 获取所有教师
     * @return
     */
    R getAllTeachers();

    /**
     * 获取用户个人信息
     * @return
     */
    R getUserInfo();

    /**
     * 修改用户密码
     * @param password
     * @return
     */
    R changePassword(String password);

    /**
     * 导出用户信息
     * @param userPageDto
     * @return
     */
    ResponseEntity exportExcel(UserPageDto userPageDto);
}
